# 从 http.server 导入多线程服务器与基类处理器
from http.server import ThreadingHTTPServer, BaseHTTPRequestHandler

# 导入 time 以模拟耗时操作
import time


# 定义一个模拟慢处理的请求处理器类
class SlowHandler(BaseHTTPRequestHandler):
    # 覆写 GET 方法
    def do_GET(self):
        # 发送 200 OK 状态码
        self.send_response(200)
        # 设置响应头为纯文本，UTF-8 编码
        self.send_header("Content-Type", "text/plain; charset=utf-8")
        # 结束头部
        self.end_headers()
        # 模拟耗时（例如外部 I/O），用于观察并发处理
        time.sleep(2)
        # 写入响应体并结束
        self.wfile.write(f"path={self.path}\n".encode("utf-8"))


# 监听所有网卡的 8001 端口
server_address = ("", 8001)
# 创建多线程 HTTP 服务器实例，传入处理器类
httpd = ThreadingHTTPServer(server_address, SlowHandler)
# 打印启动信息
print("ThreadingHTTPServer 运行在 http://localhost:8001 （每个请求独立线程）")
# 启动服务器主循环
httpd.serve_forever()
